Add Beneficiary
The AddBeneficiary API is used to create a beneficiary within a wallet platform. This API generates a ticket to approve the process of adding a beneficiary. The API allows legal representatives with the "CanManagebeneficiary" permission to create beneficiaries under a customer's account.
Method: POST
{{URL}}/jsonrpc
Headers
Name | Value |
---|---|
Content-Type | application/json |
Example
Payload Parameters
Parameter | Description |
---|---|
FirstName Mandatory | String First name of the beneficiary Ex:"Chenna " |
LastName Mandatory | String Last name of the beneficiary Ex:"Reddy " |
Type Mandatory | String Type of beneficiary Ex:"BUSINESS", "INDIVIDUAL " |
accountType Mandatory | String Account type Ex:"DIGITALASSET " |
customerID Mandatory | String Unique identifier of the customer Ex:"100000000048001 " |
network Mandatory | String Network associated with the beneficiary Ex:"STELLER " |
accountId Mandatory | String Account ID of the beneficiary Ex:"1614001 " |
contact | Object |
phoneNumber Mandatory | String Contact information of the beneficiary – Phone number Ex:"1234567890 " |
Mandatory | String Contact information of the beneficiary - email Ex:"chennareddy.s+099@netxd.com " |
address | Object |
country Mandatory | String Country of the beneficiary Ex:"US " |
line1 Mandatory | String Address line 1 of the beneficiary Ex:"alaska " |
addressLine2 Mandatory | String Address line 2 of the beneficiary Ex:"alaska " |
city Mandatory | String City of the beneficiary Ex:"Seattle " |
state Mandatory | String State of the beneficiary Ex:"WA " |
zipcode Mandatory | String Zipcode of the beneficiary Ex:"98104 " |
isInternal Mandatory | Boolean Value indicating whether the beneficiary is internal (true) or external (false). By Default the beneficiary will be External Beneficiary. Ex: false |
- cURL
- C#
- Go
- NodeJs
curl --location 'https://wallet.netxd.com/plwallet/rpc/WalletService/AddBeneficiary' \
--header 'DeviceID: 8020' \
--header 'Signature: keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ci5hbmJhbGFnYW5AbmV0eGQuY29tOmQ0Mjc2ZmIx' \
--data-raw '{"FirstName":"Chenna","LastName":"Reddy","Type":"INDIVIDUAL","accountType":"DIGITALASSET","customerID":"100000000048001","network":"STELLER","accountId":"1614001","contact":{"phoneNumber":"1234567890","email":"chennareddy.s+099@netxd.com"},"address":{"country":"US","line1":"alaska","addressLine2":"alaska","city":"Seattle","state":"WA","zipcode":"98104"},"isInternal":false}'
var options = new RestClientOptions("https://wallet.netxd.com")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/plwallet/rpc/WalletService/AddBeneficiary", Method.Post);
request.AddHeader("DeviceID", "8020");
request.AddHeader("Signature", "keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Basic ci5hbmJhbGFnYW5AbmV0eGQuY29tOmQ0Mjc2ZmIx");
var body = @"{" + "\n" +
@" ""FirstName"": ""Chenna""," + "\n" +
@" ""LastName"": ""Reddy""," + "\n" +
@" ""Type"": ""INDIVIDUAL""," + "\n" +
@" ""accountType"": ""DIGITALASSET""," + "\n" +
@" ""customerID"": ""100000000048001""," + "\n" +
@" ""network"": ""STELLER""," + "\n" +
@" ""accountId"": ""1614001""," + "\n" +
@" ""contact"": {" + "\n" +
@" ""phoneNumber"": ""1234567890""," + "\n" +
@" ""email"": ""chennareddy.s+099@netxd.com""" + "\n" +
@" }," + "\n" +
@" ""address"": {" + "\n" +
@" ""country"": ""US""," + "\n" +
@" ""line1"": ""alaska""," + "\n" +
@" ""addressLine2"": ""alaska""," + "\n" +
@" ""city"": ""Seattle""," + "\n" +
@" ""state"": ""WA""," + "\n" +
@" ""zipcode"": ""98104""" + "\n" +
@" }," + "\n" +
@" ""isInternal"": false" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://wallet.netxd.com/plwallet/rpc/WalletService/AddBeneficiary"
method := "POST"
payload := strings.NewReader(`{
"FirstName": "Chenna",
"LastName": "Reddy",
"Type": "INDIVIDUAL",
"accountType": "DIGITALASSET",
"customerID": "100000000048001",
"network": "STELLER",
"accountId": "1614001",
"contact": {
"phoneNumber": "1234567890",
"email": "chennareddy.s+099@netxd.com"
},
"address": {
"country": "US",
"line1": "alaska",
"addressLine2": "alaska",
"city": "Seattle",
"state": "WA",
"zipcode": "98104"
},
"isInternal": false
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("DeviceID", "8020")
req.Header.Add("Signature", "keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Basic ci5hbmJhbGFnYW5AbmV0eGQuY29tOmQ0Mjc2ZmIx")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'wallet.netxd.com',
'path': '/plwallet/rpc/WalletService/AddBeneficiary',
'headers': {
'DeviceID': '8020',
'Signature': 'keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=',
'Content-Type': 'application/json',
'Authorization': 'Basic ci5hbmJhbGFnYW5AbmV0eGQuY29tOmQ0Mjc2ZmIx'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"FirstName": "Chenna",
"LastName": "Reddy",
"Type": "INDIVIDUAL",
"accountType": "DIGITALASSET",
"customerID": "100000000048001",
"network": "STELLER",
"accountId": "1614001",
"contact": {
"phoneNumber": "1234567890",
"email": "chennareddy.s+099@netxd.com"
},
"address": {
"country": "US",
"line1": "alaska",
"addressLine2": "alaska",
"city": "Seattle",
"state": "WA",
"zipcode": "98104"
},
"isInternal": false
});
req.write(postData);
req.end();
Body
{
"FirstName": "Chenna",
"LastName": "Reddy",
"Type": "INDIVIDUAL",
"accountType": "DIGITALASSET",
"customerID": "100000000048001",
"network": "STELLER",
"accountId": "1614001",
"contact": {
"phoneNumber": "1234567890",
"email": "chennareddy.s+099@netxd.com"
},
"address": {
"country": "US",
"line1": "alaska",
"addressLine2": "alaska",
"city": "Seattle",
"state": "WA",
"zipcode": "98104"
},
"isInternal": false
}
Response: 200
Response Parameters
Parameter | Description |
---|---|
tickets | Array |
id | String Unique identifier of the ticket Ex:"364008 " |
requestID | String Identifier for the request Ex:"364007 " |
customerID | String Unique identifier of the customer Ex:"100000000048001 " |
applicationCode | String Application code associated with the ticket Ex:"PL " |
ticketName | String Name of the ticket Ex:"ADD_BENEFICIARY " |
createdTS | String Timestamp when the ticket was created Ex:"2023-08-17T17:11:47.07512533+05:30 " |
updatedTS | String Timestamp of the last update to the ticket Ex:"2023-08-17T17:11:47.075125445+05:30 " |
createdBy | String User who created the ticket Ex:"chennareddy.s+106@netxd.com " |
payloadJSON | Object |
ID | String Unique identifier of the beneficiary entry Ex:"000000000000000000000000 " |
createdDate | String Timestamp when the beneficiary entry was created Ex:"0001-01-01T00:00:00Z " |
updatedDate | String Timestamp of the last update to the beneficiary entry Ex:"0001-01-01T00:00:00Z " |
type | String Type of beneficiary Ex:"BUSINESS","INDIVIDUAL " |
firstName | String First name of the beneficiary Ex:"Chenna " |
lastName | String Last name of the beneficiary Ex:"Reddy " |
accountType | String Account type Ex:"DIGITALASSET " |
contact | Object |
String Email address of the beneficiary Ex:"chennareddy.s+099@netxd.com " | |
phoneNumber | String Phone number of the beneficiary Ex:"1234567890 " |
address | Object |
line1 | String Address line 1 Ex:"alaska " |
city | String City of the beneficiary's address Ex:"Seattle " |
state | String State of the beneficiary's address Ex:"WA " |
country | String Country of the beneficiary's address Ex:"US" |
zipCode | String Zip code of the beneficiary's address Ex:"98104 " |
bankDetail | Object |
bankName | String Name of the bank Ex:"NETXD " |
createdBy | String Email address of the user who created the beneficiary entry Ex:"chennareddy.s+106@netxd.com " |
accountId | String Account ID of the beneficiary Ex:"1614001 " |
customerID | String Unique identifier of the customer associated with the beneficiary Ex:"100000000048001 " |
publicKey | String Public key associated with the beneficiary Ex:"GBMB2QDVR7QBFLHRTY4A3A7LXJJZR7EXWZMZR26BWBRDPFDR2EAEU4K6 " |
network | String Network associated with the beneficiary Ex:"STELLER " |
ceResponse | Object |
result | String Context Engine watchlist result Ex:"success " |
detail | String Context Engine watchlist details Ex:"success " |
risk | Object |
riskScore | String Risk score of the beneficiary Ex:"0 " |
ofac | Object |
watchList | Object |
INDIVIDUALTransactionNumber | String Individual Transaction number Ex:"1707 " |
beneficiaryAccountDetails | Object |
accountId | String Account ID of the beneficiary Ex:"1614001 " |
accountName | String Name of the beneficiary's account Ex:"channelAccountsStatus3 " |
customerID | String Unique identifier of the customer associated with the beneficiary Ex:"100000000048001 " |
customerName | String Name of the customer associated with the beneficiary Ex:"NETXDNETXD " |
state | String Current state of the ticket Ex:"OPEN " |
status | String Current status of the ticket Ex:"WAITING_FOR_APPROVAL " |
noOfApproval | String Number of approvals required for the ticket Ex:"1 " |
ticketHistory | Array |
updatedBy | String Email address of the user who updated Ex:"chennareddy.s+106@netxd.com " |
updatedDate | String Timestamp of the update Ex:"2023-08-17T17:11:47.07652601+05:30 " |
state | String State of the ticket at the time of the update Ex:"OPEN " |
message | String A message indicating the success of the beneficiary ticket creation process Ex:"Beneficiary Ticket Raised Successfully " |
{
"tickets": [
{
"id": "364008",
"requestID": "364007",
"customerID": "100000000048001",
"applicationCode": "PL",
"ticketName": "ADD_BENEFICIARY",
"createdTS": "2023-08-17T17:11:47.07512533+05:30",
"updatedTS": "2023-08-17T17:11:47.075125445+05:30",
"createdBy": "chennareddy.s+106@netxd.com",
"payloadJSON": {
"ID": "000000000000000000000000",
"createdDate": "0001-01-01T00:00:00Z",
"updatedDate": "0001-01-01T00:00:00Z",
"type": "INDIVIDUAL",
"firstName": "Chenna",
"lastName": "Reddy",
"accountType": "DIGITALASSET",
"contact": {
"email": "chennareddy.s+099@netxd.com",
"phoneNumber": "1234567890"
},
"address": {
"line1": "alaska",
"city": "Seattle",
"state": "WA",
"country": "US",
"zipCode": "98104"
},
"bankDetail": {
"bankName": "NETXD"
},
"createdBy": "chennareddy.s+106@netxd.com",
"accountId": "1614001",
"customerID": "100000000048001",
"publicKey": "GBMB2QDVR7QBFLHRTY4A3A7LXJJZR7EXWZMZR26BWBRDPFDR2EAEU4K6",
"network": "STELLER",
"ceResponse": {
"result": "success",
"detail": "success",
"risk": {
"riskScore": "0"
},
"ofac": {},
"watchList": {},
"INDIVIDUALTransactionNumber": "1707"
},
"beneficiaryAccountDetails": {
"accountId": "1614001",
"accountName": "channelAccountsStatus3",
"customerID": "100000000048001",
"customerName": "NETXDNETXD"
}
},
"state": "OPEN",
"status": "WAITING_FOR_APPROVAL",
"noOfApproval": 1,
"ticketHistory": [
{
"updatedBy": "chennareddy.s+106@netxd.com",
"updatedDate": "2023-08-17T17:11:47.07652601+05:30",
"state": "OPEN"
}
]
}
],
"message": "Beneficiary Ticket Raised Successfully"
}